home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 1.iso
/
util
/
vtt1_3a.zip
/
README.TXT
next >
Wrap
Text File
|
1994-09-10
|
11KB
|
278 lines
Release notice: Windows 3.1 Terminal Application
VT100, XModem, YModem file transfers.
Includes sample implementation source code.
MACTerm v1.3 ALPHA TEST Application
-----------------------------------
All code etc is sole property of Mike McCammant/MACSoft.
(mikemc@netcom.com)
WARNING: This is a VERY simple terminal, please do not NUKE me for it lack
of terminal functions !! That is beyond the scope of this release.
(i.e. Autodialing etc etc) You can Hang-up from the Util menu.
Some of these functions are planned on later test releases.
Disclaimer: This alpha test software is released as is, with no warranty
as to it's fitness for anything other than a test. The author
assumes zero liability for anything nasty that occurs during
or because of it's use.. Also any and all other standard
disclaimer stuff that I don't feel like typing is implied..
Platforms:
----------
Windows 3.1, on a 386 or above, 4M ram. Has not been tested under NT or
WFW 3.11.
Purpose:
--------
The enclosed program has been released in order for the authors,(me, myself
and I) to aquire feedback concerning the functionality of the VT100 emulation
on a varity of platforms. Also for testing of the other objects that have
been developed for serial communications, to include X/YModem file transfers.
(ZModem soon I hope !)
I have also included TTView.cpp and .h file that uses these objects. This file
provides the entire functionality of this application external to the objects.
This file is the standard CView class for an MFC 2.5 based VC++ 1.5 application.
This application is based on a set of VC++ objects that MAY be released at a
later time on terms yet to be defined.
MacTerm Object:
---------------
The VT100 emulation is provided by a VC++ Object that when created, creates
it's own visible window and manages all GUI aspects on it's own. This object
can be minimized and maximized without loss of functionality. This object
can exist in multiple instances, but not in this test app. This object
accepts its input from a public function call.
Underline and Blinking text attributes are supported.
80/132 column switching is somewhat supported, but is not real pretty at this
point.
Users can change the default background/text colors in the UTIL/SETUP menu.
These selections are saved in the *.INI file for the application.
There are many variable aspects of this object (i.e. columns, rows etc) that
are, for the purposes of this alpha test, pre-defined and constant. Future
releases, if/when they occur, should include more flexability in this area.
MACComm Object:
---------------
Also implemented is a Communications object that responds to WM_COMMNOTIFY
OR WM_TIMER messages and manages a 16k receive queue. All the known bugs are
worked around in this implementation and it functions very well at 19.2 on my
486/33. There have been some reports of this app not functioning properly
under WFW 3.11 using the COMMNOTIFY method in conjunction with the standard
COMM.DRV. I am not sure why at this point. The solution if you have problems
is to use the Timer option, or try a different COMM driver. One called
CyberCom is available via FTP from several sites and is very stable.
By default, XOn/XOff flow control is enabled and it is recommended that it
remain enabled, at least at high data rates and throughputs. If you wish to
disable the flow control, you can do so from the Port Setup Dialog when the
app is launched. Fair warning, if you overrun the 16k buffer, the comm port
will lock up. The system should remain stable although the serial port will
stop responding to the app. There is a port reset selection in the UTIL menu
that should clear this error condition.
Carrier Detect is recovered from the MSR (Modem Status Register) and is
available from within this object.
This object supports both character and block transmission functions, as well
as multiple reception methods, char, block, timed char, timed block, block
with interchar timeout etc... String/Line reception is not yet supported.
XYTransfer Object
-----------------
This object currently supports XModem checksum, XModem-CRC, 1K XModem, YModem
and YModem-g batch uploading and downloading. ZModem is not currently
implemented but is planned. On my 486-33, set for 19.2 with a 14.4 modem,
I get about 2600 cps on text files and 1500-1700 cps on .ZIP files. This
is downloading using Ymodem-g.
Transfer status is displayed in a modeless dialog box.
On YModem downloads, the object will attempt to rename a duplicate file by
changing the last character of the extension ro filename if no ext, to a 0-9.
This object performs very well minimized, and the only troubles I have noted are
with YModem-g downloads overflowing the 16k buffer during applications that are
very processor intensive. Loading Borland's Paradox for Windows(tm) will kill it
every time ! It takes 6-8 seconds to fill up the buffer at 14.4.
Default UL/DL directories are set up in the UTIL/SETUP menu selection. These are
stored in the *.INI file for this application in the windows directory.
NOTE: YModem-g UL not tested !! If you can check it out, let me know if it works.
General FYI
-----------
One thing that may seem strange to you, when you are receiving a large amount
of data, the virtual screen object will start to scroll multiple rows. The
number of scroll rows is based on a % of the total number of screen rows and
a % of the number of characters in the receive buffer. It will speed up and
slow down as the buffer fill fluctuates. This can be a problem when using
a program that manages the cursor (IRC is a good example). If this feature
causes a problem, it can be toggled on/off in the Util/Setup menu. As a
protective measure, this feature is automatically disabled anytime a scroll
region is defined with a bottom row less than 22. This seems to work pretty
well.
Please play with this and provide any constructive feedback you may have to
me. I can be reached at mikemc@netcom.com. Please review the Bug List below.
With all feedback, please indicate:
a. System description (processor/Speed/RAM/Operating System version)
b. Version of app.
c. Configuration of app(i.e. baudrate, flow etc)
d. your feedback/bugs. Please be exact in when/how the bug occured. If
you can send an ASCII capture of the data that caused the bug, I have
an emulator I can run it through..
e. anything else you think is important.
Bug list/Planned fixes: (as of 9/9/94)
-------------------------
On color setup, not all colors map, only 16 do. Right now, its trial
and error.
Need to map ESC key.
Smooth scrolling not yet implemented.
ZModem Uploading/Downloading not supported at this time.
Autodial not implemented at this time.
Not all 'standard' baud rates are supported.
COM3, port 3E8, IRQ 5 does not work, probably others as well!
Need to set up defaults for com, baud etc in .INI
Bug Fix Log: (History)
------------
8/10/94 Scroll down/reverse linefeed implemented.
8/10/94 ESC1J, erase from beginning of screen to cursor fixed to erase
current cursor position also.
8/12/94 All line drawing characters are mapped.
8/12/94 Scroll region functions implemented.
8/12/94 UK character set mapping added.
8/12/94 Created Underline, Bold and Bold Underline Fonts. (not yet
implemented)
8/13/94 Delete key now functions as a backspace. (Thanks Sebastien)
8/14/94 Bold and underline implemented (bold is not quite right, width)
8/15/94 Blink Implemented !!
8/16/94 Fix Reverse video screen. (entire scrn, incl existing chars should
rev)
8/17/94 80/132 column mode switching implemented.
8/19/94 Added color setup for text and background.
8/19/94 Added 80/132 column mode flag and only switch if not already in
mode. Why switch if already there?
8/19/94 Added file capture.
8/19/94 Added file capture status to status bar.
8/20/94 WM_TIMER managed communications implemented in Comm Object. Set at
50ms. Comm Object now supports WM_COMMNOTIFY or WM_TIMER driven
communications.
8/20/94 Migrated keymapping from view to Comm Object.
8/21/94 Added esc #3,4,5,6,8 to decoding.
8/21/94 Blink was reverse video'ing, corrected for true hide instead of
inverting.
8/21/94 Added UpdateStatusBar member functions to Comm Object. Changed
capture status to use this function.
8/21/94 Added statusbar messages to hang-up routine.
8/21/94 Sped up blink from 1100ms to 350ms.
8/26/94 Added timed WaitForChar functions in comm object.
Migrated WM_COMMNOTIFY handling over into Comm Object.
Added functions to turn on/off XON/XOFF on the fly.
Added Carrier Detect tracking.
Modified classes to be "file transfer aware".
Added more selection for Notification and auto-process to
setup dlg.
8/27/94 Fixed: Loss of caret/cursor after minimizing/maximizing application.
(sometimes no cursor at all?)
8/30/94 Added XYModem Class. Inital implementation provides X and Y
Modem downloads.
9/2/94 Created file selection dialogs for xfers.
9/2/94 Fixed bug: File Name not properly mapping after completion of xfer.
9/4/94 Fixed bug: YModem DL session completes OK on client, bit host never
gets final ACK. (you must ctrl-c on the host)
9/7/94 Added DL status modeless dialog
9/7/94 Added: Color/Directories saved in private profile (.ini file)
9/8/94 Found bug: Serial port will not respond after rec buffer overrun.
9/9/94 Added port reset in UTIL menu.
[The End]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++